//
// Created by lfm on 2025/3/18.
//
//#include <iostream>
//#include <vector>
//#include <string>
//#include <algorithm>
//using namespace std;
//
//
//class Student
//{
//public:
//    string m_Name;
//    int Chinese;
//    int Math;
//    int English;
//    int Total;
//};
//
//void Sort(vector<Student>& arr);
//void Print(vector<Student>& arr);
//int main()
//{
//    vector<Student> arr;
//    Student s1;
//    s1.m_Name = "Alice";
//    s1.Chinese = 80;
//    s1.Math = 90;
//    s1.English = 85;
//    s1.Total = s1.Chinese + s1.Math + s1.English;
//    arr.push_back(s1);
//
//    Student s2;
//    s2.m_Name = "Bob";
//    s2.Chinese = 70;
//    s2.Math = 80;
//    s2.English = 75;
//    arr.push_back(s2);
//
//    Student s3;
//    s3.m_Name = "Charlie";
//    s3.Chinese = 90;
//    s3.Math = 85;
//    s3.English = 95;
//    arr.push_back(s3);
//
//    Sort(arr);
//    Print(arr);
//
//    return 0;
//}
//void Sort(vector<Student>& arr)
//{
//    sort(arr.begin(), arr.end(), [](Student& s1, Student& s2) {return s1.Total > s2.Total});
//}
//void Print(vector<Student>& arr)
//{
//    for (auto s : arr)
//    {
//        cout << s.m_Name << " " << s.Chinese << " " << s.Math << " " << s.English << " " << s.Total << endl;
//    }
//}


//#include <iostream>
//#include <vector>
//#include <string>
//#include <algorithm>
//using namespace std;
//
//// 学生类，包含学生的基本信息和总成绩
//class Student
//{
//public:
//    string m_Name;
//    int Chinese;
//    int Math;
//    int English;
//    int Total;
//};
//
//// 对学生数组按照总成绩进行排序的函数
//void Sort(vector<Student>& arr);
//// 打印学生数组信息的函数
//void Print(vector<Student>& arr);
//// 初始化学生信息的函数
//void Init(vector<Student>& arr);
//
//int main()
//{
//    vector<Student> arr;
//    // 初始化学生信息
//    Init(arr);
//    // 对学生数组进行排序
//    Sort(arr);
//    // 打印排序后的学生信息
//    Print(arr);
//
//    return 0;
//}
//
//// 实现对学生数组按照总成绩从高到低排序
//void Sort(vector<Student>& arr)
//{
//    sort(arr.begin(), arr.end(), [](const Student& s1, const Student& s2)
//    { return s1.Total > s2.Total; });
//}
//
//// 打印学生数组中每个学生的信息
//void Print(vector<Student>& arr)
//{
//    for (const auto& s : arr)
//    {
//        cout << s.m_Name << " " << s.Chinese << " " << s.Math << " " << s.English << " " << s.Total << endl;
//    }
//}
//
//// 初始化学生信息并添加到数组中
//void Init(vector<Student>& arr)
//{
//    Student s1 = { "lfm", 80, 90, 85, 80 + 90 + 85 };
//    arr.push_back(s1);
//
//    Student s2 = { "xkl", 70, 80, 75, 70 + 80 + 75 };
//    arr.push_back(s2);
//
//    Student s3 = { "zsf", 90, 85, 95, 90 + 85 + 95 };
//    arr.push_back(s3);
//}


#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:
    int subarraySum(vector<int>& nums)
    {
        int n  = nums.size();
        vector<int> arr(n + 1, 0);

        for (int i = 0; i < n; i++)
        {
            arr[i + 1] = arr[i] + nums[i];
        }
        for (auto t : arr)
        {
            printf("%d ", t);
        }
        printf("\n");
        vector<int> arr1;
        arr1.resize(n + 1, 0);
        for (int i = 0; i < n; i++)
        {
            arr1[i + 1] = arr[i] - arr[i];
        }
        for (auto t : arr)
        {
            printf("%d ", t);
        }

        printf("\n");
        int sum = 0;
        for (int i = 0; i < n; i++)
        {
            sum += arr[i];
        }
        return sum;
    }
};
int main()
{
    vector<int> arr = {2, 3, 1};
    Solution s;
    cout << s.subarraySum(arr) << endl;
    return 0;
}